package to4.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.TextArea;


public class Contact {
	private ZonderHome ZH;
	private MetHome MH;
	public Contact(ZonderHome thema5){
		this.ZH = thema5;
	}

	public Panel createPage(final String email){
		FlowPanel eindPanel = new FlowPanel();
		HorizontalPanel contactPanel = new HorizontalPanel();
		Label contact = new Label("Contact");
		contact.addStyleName("contact");
		Label omschrijving = new Label("Omschrijving vraag:");
		omschrijving.addStyleName("omschrijving");
		final TextArea vraagTekst = new TextArea();
		vraagTekst.addStyleName("vraagTekst");
		Button verzenden = new Button("Verzenden");
		verzenden.addStyleName("contactButton");
		
		verzenden.addClickHandler(new ClickHandler(){
			@Override
			public void onClick(ClickEvent event) {
				int i = 0;
				i++;
				if(i > 1){
					Window.alert("U hebt al een vraag gesteld");
				}
				if(vraagTekst.getText().equals("")) {
					Window.alert("Er is niks ingevoerd");
				}
				else {
					String bericht = vraagTekst.getText();
					AsyncCallback<String> sendMail = new AsyncCallback<String>() {
						@Override
						public void onFailure(Throwable caught) {
							Window.alert("Vraag niet verstuurd");
						}
						@Override
						public void onSuccess(String result) {
							if (result.equals("succes")){
								Window.alert("Vraag succesvol verzonden");
								vraagTekst.setText("");
							}
							if(result.equals("faal")){
								Window.alert("We kennen dit e-mailadres niet");
							}
						}
					};
					ZH.thema.myService.sendContactMail(email, bericht, sendMail);
				}
			}
		});
		eindPanel.add(contact);
		contactPanel.add(omschrijving);
		contactPanel.add(vraagTekst);
		eindPanel.add(contactPanel);
		eindPanel.add(verzenden);
		return eindPanel;
	}
}